package fr.afcepf.atod18.utilitaires.web;

import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.SessionScoped;

import org.primefaces.model.DefaultTreeNode;
import org.primefaces.model.TreeNode;
import org.springframework.transaction.annotation.Transactional;

import fr.afcepf.atod18.client.entity.Client;
import fr.afcepf.atod18.commande.entity.EtatCommande;
import fr.afcepf.atod18.restaurants.entity.Boisson;
import fr.afcepf.atod18.restaurants.entity.Carte;
import fr.afcepf.atod18.restaurants.entity.Plat;
import fr.afcepf.atod18.restaurants.entity.Produit;
import fr.afcepf.atod18.restaurants.entity.Restaurant;
import fr.afcepf.atod18.restaurants.entity.Restaurateur;
import fr.afcepf.atod18.restaurants.entity.TypeCuisine;
import fr.afcepf.atod18.restaurants.entity.TypeHoraire;
import fr.afcepf.atod18.restaurants.entity.TypePlat;
import fr.afcepf.atod18.utilitaires.entity.Admin;
import fr.afcepf.atod18.utilitaires.entity.Adresse;
import fr.afcepf.atod18.utilitaires.entity.Devise;
import fr.afcepf.atod18.utilitaires.entity.Login;
import fr.afcepf.atod18.utilitaires.entity.Pays;
import fr.afcepf.atod18.utilitaires.entity.Profil;
import fr.afcepf.atod18.utilitaires.entity.Rue;
import fr.afcepf.atod18.utilitaires.entity.TypeAdresse;
import fr.afcepf.atod18.utilitaires.entity.Ville;
import fr.afcepf.atod18.utilitaires.service.IServiceFacade;

@ManagedBean(name = "listeObjetsMB")
@SessionScoped
@Transactional
public class ListeObjetsMB {

    private TreeNode listeObjets;
    private TreeNode utilitaires = null;
    private TreeNode client = null;
    private TreeNode restaurants = null;
    private TreeNode commande = null;

    @ManagedProperty(value = "#{serviceFacade}")
    IServiceFacade serviceFacade;

    public ListeObjetsMB() {
        super();
    }

    @PostConstruct
    public void init() {
        listeObjets = new DefaultTreeNode("siteresto_db", null);
        utilitaires = new DefaultTreeNode("pkg Utilitaires", listeObjets);
        client = new DefaultTreeNode("pkg Client", listeObjets);
        restaurants = new DefaultTreeNode("pkg Restaurants", listeObjets);
        commande = new DefaultTreeNode("pkg Commande", listeObjets);
    }

    public TreeNode getListeObjets() {
        return listeObjets;
    }

    public void setListeObjets(TreeNode listeObjets) {
        this.listeObjets = listeObjets;
    }

    public String doInitSiteresto() {
        List<TypeAdresse> liste = serviceFacade.getServiceTypeAdresse().rechercherTout();
        serviceFacade.getServiceTypeAdresse().supprimerListe(liste);
        TypeAdresse ta1 = new TypeAdresse("Geographique");
        serviceFacade.getServiceTypeAdresse().ajouter(ta1);
        System.out.println("liste des type adresse 3");
        TypeAdresse ta2 = new TypeAdresse("Courrier");
        serviceFacade.getServiceTypeAdresse().ajouter(ta2);
        TypeAdresse ta3 = new TypeAdresse("Facturation");
        serviceFacade.getServiceTypeAdresse().ajouter(ta3);
        TypeAdresse ta4 = new TypeAdresse("Livraison");
        serviceFacade.getServiceTypeAdresse().ajouter(ta4);

        List<TypeHoraire> liste2 = serviceFacade.getServiceTypeHoraire().rechercherTout();
        serviceFacade.getServiceTypeHoraire().supprimerListe(liste2);
        TypeHoraire th1 = new TypeHoraire("Ouverture");
        serviceFacade.getServiceTypeHoraire().ajouter(th1);
        TypeHoraire th2 = new TypeHoraire("Livraison");
        serviceFacade.getServiceTypeHoraire().ajouter(th2);

        List<TypeCuisine> liste3 = serviceFacade.getServiceTypeCuisine().rechercherTout();
        serviceFacade.getServiceTypeCuisine().supprimerListe(liste3);
        TypeCuisine tc1 = new TypeCuisine("Francaise");
        serviceFacade.getServiceTypeCuisine().ajouter(tc1);
        TypeCuisine tc2 = new TypeCuisine("Chinoise");
        serviceFacade.getServiceTypeCuisine().ajouter(tc2);
        TypeCuisine tc3 = new TypeCuisine("Japonaise");
        serviceFacade.getServiceTypeCuisine().ajouter(tc3);
        TypeCuisine tc4 = new TypeCuisine("Fast Food");
        serviceFacade.getServiceTypeCuisine().ajouter(tc4);
        TypeCuisine tc5 = new TypeCuisine("Libanaise");
        serviceFacade.getServiceTypeCuisine().ajouter(tc5);
        TypeCuisine tc6 = new TypeCuisine("Indienne");
        serviceFacade.getServiceTypeCuisine().ajouter(tc6);
        TypeCuisine tc7 = new TypeCuisine("Italienne");
        serviceFacade.getServiceTypeCuisine().ajouter(tc7);

        List<TypePlat> liste4 = serviceFacade.getServiceTypePlat().rechercherTout();
        serviceFacade.getServiceTypePlat().supprimerListe(liste4);
        TypePlat tp1 = new TypePlat("Entree");
        serviceFacade.getServiceTypePlat().ajouter(tp1);
        TypePlat tp2 = new TypePlat("Plat");
        serviceFacade.getServiceTypePlat().ajouter(tp2);
        TypePlat tp3 = new TypePlat("Dessert");
        serviceFacade.getServiceTypePlat().ajouter(tp3);
        TypePlat tp4 = new TypePlat("Accompagnement");
        serviceFacade.getServiceTypePlat().ajouter(tp4);
        TypePlat tp5 = new TypePlat("Boisson");
        serviceFacade.getServiceTypePlat().ajouter(tp5);

        List<Boisson> liste5 = serviceFacade.getServiceBoisson().rechercherTout();
        serviceFacade.getServiceBoisson().supprimerListe(liste5);
        Boisson b1 = new Boisson("Coca Cola 33cl", "Boisson Kola", 1d,
                true, null, 0, 33);
        serviceFacade.getServiceBoisson().ajouter(b1);
        Boisson b2 = new Boisson("Bouteille Evian 33cl",
                "Boisson eau minerale", 1d, true, null, 0, 33);
        serviceFacade.getServiceBoisson().ajouter(b2);
        Boisson b3 = new Boisson("Bouteille Badoit 33cl",
                "Boisson eau minerale", 1d, true, null, 0, 33);
        serviceFacade.getServiceBoisson().ajouter(b3);
        Boisson b4 = new Boisson("Bouteille Perrier 33cl",
                "Boisson eau minerale", 1.2d, true, null, 0, 33);
        serviceFacade.getServiceBoisson().ajouter(b4);
        Boisson b5 = new Boisson("Bouteille Badoit 33cl",
                "Boisson eau minerale", 1.6d, true, null, 0, 33);
        serviceFacade.getServiceBoisson().ajouter(b5);
        Boisson b6 = new Boisson("Bouteille Ice tea 33cl", "Boisson sucree",
                1.6d, true, null, 0, 33);
        serviceFacade.getServiceBoisson().ajouter(b6);
        Boisson b7 = new Boisson("Minute maid orange 33cl", "Boisson sucree",
                1.6d, true, null, 0, 33);
        serviceFacade.getServiceBoisson().ajouter(b7);

        Boisson b8 = new Boisson("Vittel Eau 1L", "Bouteille d'eau de source",
                1.5d, true, null, 0, 100);
        serviceFacade.getServiceBoisson().ajouter(b8);
        Boisson b9 = new Boisson("Vittel Eau 50cl", "Bouteille d'eau de source",
                .8d, true, null, 0, 50);
        serviceFacade.getServiceBoisson().ajouter(b9);
        Boisson b10 = new Boisson("Coca Eau 50cl", "cannette rouge", .8d, true,
                null, 0, 50);
        serviceFacade.getServiceBoisson().ajouter(b10);
        Boisson b11 = new Boisson("Badoit Eau 50cl", "Bouteille d'eau minerale",
                .9d, true, null, 0, 50);
        serviceFacade.getServiceBoisson().ajouter(b11);
        Boisson b12 = new Boisson("Hy-C Orange Eau 50cl",
                "briquette de jus d'orange", .7d, true, null, 0, 33);
        serviceFacade.getServiceBoisson().ajouter(b12);


        List<Plat> liste6 = serviceFacade.getServicePlat().rechercherTout();
        serviceFacade.getServicePlat().supprimerListe(liste6);
        Plat p1 = new Plat("Nem au poulet", "Nem au poulet", 0.5d, true, null,
                0, false, serviceFacade.getServiceTypePlat().rechercherParNom("libelle", "Entree")
                        .get(0));
        serviceFacade.getServicePlat().ajouter(p1);
        Plat p2 = new Plat("Samoussa de boeuf au curry",
                "Samoussa au boeuf avec une sauce au curry", 1.2d, true, null,
                0, false, serviceFacade.getServiceTypePlat().rechercherParNom("libelle", "Entree")
                        .get(0));
        serviceFacade.getServicePlat().ajouter(p2);
        Plat p3 = new Plat("Grand pate imperial", "Grand pate imperial", 1.2d,
                true, null, 0, false, serviceFacade.getServiceTypePlat().rechercherParNom(
                        "libelle", "Entree").get(0));
        serviceFacade.getServicePlat().ajouter(p3);
        Plat p4 = new Plat("Rouleau de pringtemps", "Rouleau de pringtemps",
                1.5d, true, null, 0, false, serviceFacade.getServiceTypePlat().rechercherParNom(
                        "libelle", "Entree").get(0));
        serviceFacade.getServicePlat().ajouter(p4);
        Plat p5 = new Plat("Beignet de crevettes", "Beignet de crevettes",
                0.6d, true, null, 0, false, serviceFacade.getServiceTypePlat().rechercherParNom(
                        "libelle", "Entree").get(0));
        serviceFacade.getServicePlat().ajouter(p5);
        Plat p6 = new Plat("Salade nature", "Salade nature", 1.5d, true, null,
                0, false, serviceFacade.getServiceTypePlat().rechercherParNom("libelle", "Entree")
                        .get(0));
        serviceFacade.getServicePlat().ajouter(p6);
        Plat p7 = new Plat("Crevette sauce piquante",
                "Crevette a la sauce piquante", 6d, true, null, 0, false,
                serviceFacade.getServiceTypePlat().rechercherParNom("libelle", "Plat").get(0));
        serviceFacade.getServicePlat().ajouter(p7);
        Plat p8 = new Plat("Canard laque", "Canard laque façon pekinoise",
                5.8d, true, null, 0, false, serviceFacade.getServiceTypePlat().rechercherParNom(
                        "libelle", "Plat").get(0));
        serviceFacade.getServicePlat().ajouter(p8);
        Plat p9 = new Plat("Poulet au champignon noir",
                "Poulet au champignon noir", 4.2d, true, null, 0, false,
                serviceFacade.getServiceTypePlat().rechercherParNom("libelle", "Plat").get(0));
        serviceFacade.getServicePlat().ajouter(p9);
        Plat p10 = new Plat("Travers de porc au caramel",
                "Travers de porc au caramel", 4.8d, true, null, 0, false,
                serviceFacade.getServiceTypePlat().rechercherParNom("libelle", "Plat").get(0));
        serviceFacade.getServicePlat().ajouter(p10);
        Plat p11 = new Plat("Riz nature", "Riz nature", 1.8d, true, null, 0,
                false, serviceFacade.getServiceTypePlat().rechercherParNom("libelle", "Accompagnement").get(
                        0));
        serviceFacade.getServicePlat().ajouter(p11);
        Plat p12 = new Plat("Riz cantonais", "Riz cantonais", 2.8d, true, null,
                0, false, serviceFacade.getServiceTypePlat().rechercherParNom("libelle", "Accompagnement")
                        .get(0));
        serviceFacade.getServicePlat().ajouter(p12);
        Plat p13 = new Plat("Perle coco", "Perle de coco", 0.6d, true, null, 0,
                false, serviceFacade.getServiceTypePlat().rechercherParNom("libelle", "Dessert")
                        .get(0));
        serviceFacade.getServicePlat().ajouter(p13);
        Plat p14 = new Plat("Gateau aux amandes", "Gateau aux amandes", 1d,
                true, null, 0, false, serviceFacade.getServiceTypePlat().rechercherParNom(
                        "libelle", "Dessert").get(0));
        serviceFacade.getServicePlat().ajouter(p14);
        Plat p15 = new Plat("Beignet de pomme", "Beignet de pomme", 1.2d, true,
                null, 0, false, serviceFacade.getServiceTypePlat().rechercherParNom("libelle",
                        "Dessert").get(0));
        serviceFacade.getServicePlat().ajouter(p15);
        Plat p16 = new Plat("5 raviolis grillés", "raviolis au poulet", 5.5d,
                true, null, 0, false, serviceFacade.getServiceTypePlat().rechercherParNom(
                        "libelle", "Entree").get(0));
        serviceFacade.getServicePlat().ajouter(p16);
        Plat p17 = new Plat("Salade Edo", "Salade Edo", 6.1d, true, null, 0,
                false, serviceFacade.getServiceTypePlat().rechercherParNom("libelle", "Entree")
                        .get(0));
        serviceFacade.getServicePlat().ajouter(p17);
        Plat p18 = new Plat("soupe miso", "Soupe miso", 1.9d, true, null, 0,
                false, serviceFacade.getServiceTypePlat().rechercherParNom("libelle", "Entree")
                        .get(0));
        serviceFacade.getServicePlat().ajouter(p18);
        Plat p19 = new Plat("Amago Maki", "Amago Maki", 9.5d, true, null, 0,
                false, serviceFacade.getServiceTypePlat().rechercherParNom("libelle", "Plat").get(
                        0));
        serviceFacade.getServicePlat().ajouter(p19);
        Plat p20 = new Plat("Amago Mixte", "Amago Mixte", 13.5d, true, null, 0,
                false, serviceFacade.getServiceTypePlat().rechercherParNom("libelle", "Plat").get(
                        0));
        serviceFacade.getServicePlat().ajouter(p20);
        Plat p21 = new Plat("Amago Califonia", "California rolls", 11.8d, true,
                null, 0, false, serviceFacade.getServiceTypePlat().rechercherParNom("libelle",
                        "Plat").get(0));
        serviceFacade.getServicePlat().ajouter(p21);
        Plat p22 = new Plat("Amago Sahimi", "Sashimi de thon rouge", 10.8d,
                true, null, 0, false, serviceFacade.getServiceTypePlat().rechercherParNom(
                        "libelle", "Plat").get(0));
        serviceFacade.getServicePlat().ajouter(p22);
        Plat p23 = new Plat("Amago Yakitori", "Assortiment de Yakitori", 10.9d,
                true, null, 0, false, serviceFacade.getServiceTypePlat().rechercherParNom(
                        "libelle", "Plat").get(0));
        serviceFacade.getServicePlat().ajouter(p23);
        Plat p24 = new Plat("Ananas", "Ananas", 3d, true, null, 0, false,
                serviceFacade.getServiceTypePlat().rechercherParNom("libelle", "Dessert").get(0));
        serviceFacade.getServicePlat().ajouter(p24);
        Plat p25 = new Plat("Letchis", "Letchis", 3.7d, true, null, 0, false,
                serviceFacade.getServiceTypePlat().rechercherParNom("libelle", "Dessert").get(0));
        serviceFacade.getServicePlat().ajouter(p25);
        Plat p26 = new Plat("Nougat chinois", "Nougat chinois", 2.5d, true,
                null, 0, false, serviceFacade.getServiceTypePlat().rechercherParNom("libelle",
                        "Dessert").get(0));
        serviceFacade.getServicePlat().ajouter(p26);
        Plat p27 = new Plat("Salade Ceasar", "salade : laitue, poulet, oeuf",
                2.5d, true, null, 0, false, serviceFacade.getServiceTypePlat().rechercherParNom(
                        "libelle", "Entree").get(0));
        serviceFacade.getServicePlat().ajouter(p27);
        Plat p28 = new Plat("Pizza Regina", "part de pizza", 2.1d, true, null, 0,
                false, serviceFacade.getServiceTypePlat().rechercherParNom("libelle", "Entree")
                        .get(0));
        serviceFacade.getServicePlat().ajouter(p28);
        Plat p29 = new Plat("Nems au poulet", "nems a base de poulet", 2.15d,
                true, null, 0, false, serviceFacade.getServiceTypePlat().rechercherParNom(
                        "libelle", "Entree").get(0));
        serviceFacade.getServicePlat().ajouter(p29);
        Plat p30 = new Plat("Crevettes au sel",
                "crevettes non decortiquees cuites au sel", 6.0d, true, null, 0,
                false, serviceFacade.getServiceTypePlat().rechercherParNom("libelle", "Plat").get(
                        0));
        serviceFacade.getServicePlat().ajouter(p30);
        Plat p31 = new Plat("Poisson a la sauce piquante",
                "poisson cuit avec une sauce piquante", 4.5d, true, null, 0,
                false, serviceFacade.getServiceTypePlat().rechercherParNom("libelle", "Plat").get(
                        0));
        serviceFacade.getServicePlat().ajouter(p31);
        Plat p32 = new Plat("Poisson cru au lait de coco",
                "poisson cru au lait de coco", 8.5d, true, null, 0, false,
                serviceFacade.getServiceTypePlat().rechercherParNom("libelle", "Plat").get(0));
        serviceFacade.getServicePlat().ajouter(p32);
        Plat p33 = new Plat("sashimi de thon rouge",
                "tranche de thon rouge frais", 8.5d, true, null, 0, false,
                serviceFacade.getServiceTypePlat().rechercherParNom("libelle", "Plat").get(0));
        serviceFacade.getServicePlat().ajouter(p33);
        Plat p34 = new Plat("Tarte aux fruits", "Part de tarte aux fruits",
                2.0d, true, null, 0, false, serviceFacade.getServiceTypePlat().rechercherParNom(
                        "libelle", "Dessert").get(0));
        serviceFacade.getServicePlat().ajouter(p34);
        Plat p35 = new Plat("Riz nature", "riz parfume cuit a la vapeur", 0.5d,
                true, null, 0, false, serviceFacade.getServiceTypePlat().rechercherParNom(
                        "libelle", "Accompagnement").get(0));
        serviceFacade.getServicePlat().ajouter(p35);
        Plat p36 = new Plat("Pommes de terre sautees",
                "Pommes de terre cuites a la vapeur", 0.5d, true, null, 0,
                false, serviceFacade.getServiceTypePlat().rechercherParNom("libelle",
                        "Accompagnement").get(0));
        serviceFacade.getServicePlat().ajouter(p36);
        Plat p37 = new Plat("Gateau au coco",
                "Gateau cuit avec des morceau de coco", 1.5d, true, null, 0,
                false, serviceFacade.getServiceTypePlat().rechercherParNom("libelle", "Dessert")
                        .get(0));
        serviceFacade.getServicePlat().ajouter(p37);

        List<Rue> liste7 = serviceFacade.getServiceRue().rechercherTout();
        serviceFacade.getServiceRue().supprimerListe(liste7);
        ;
        Rue rue1 = new Rue("Rue Danton");
        serviceFacade.getServiceRue().ajouter(rue1);
        Rue rue2 = new Rue("Avenue Pierre Larousse");
        serviceFacade.getServiceRue().ajouter(rue2);
        Rue rue3 = new Rue("Rue Ernest Renan");
        serviceFacade.getServiceRue().ajouter(rue3);
        Rue rue4 = new Rue("Rue Raymond Fassin");
        serviceFacade.getServiceRue().ajouter(rue4);
        Rue rue5 = new Rue("Rue Gabetta");
        serviceFacade.getServiceRue().ajouter(rue5);
        Rue rue6 = new Rue("Avenue de la Republique");
        serviceFacade.getServiceRue().ajouter(rue6);
        Rue rue7 = new Rue("Avenue Aristide Briand");
        serviceFacade.getServiceRue().ajouter(rue7);

        List<Ville> listeVille = serviceFacade.getServiceVille().rechercherTout();
        serviceFacade.getServiceVille().supprimerListe(listeVille);
        Ville vil1 = new Ville("MALAKOFF",92240);
        serviceFacade.getServiceVille().ajouter(vil1);
        Ville vil2 = new Ville("LA CHAPELLE EN SERVAL",60520);
        serviceFacade.getServiceVille().ajouter(vil2);
        Ville vil3 = new Ville("PARIS 6",75006);
        serviceFacade.getServiceVille().ajouter(vil3);
        Ville vil4 = new Ville("PARIS 15",75015);
        serviceFacade.getServiceVille().ajouter(vil4);
        Ville vil5 = new Ville("VANVES",92170);
        serviceFacade.getServiceVille().ajouter(vil5);
        Ville vil6 = new Ville("ISSY LES MOULINEAUX",92130);
        serviceFacade.getServiceVille().ajouter(vil6);
        Ville vil7 = new Ville("PARIS 14",75014);
        serviceFacade.getServiceVille().ajouter(vil7);
        
        List<Carte> liste8 = serviceFacade.getServiceCarte().rechercherTout();
        serviceFacade.getServiceCarte().supprimerListe(liste8);
        ;
        Set<Produit> produits = new HashSet<Produit>();
        produits.add(b1);
        produits.add(b2);
        produits.add(b3);
        produits.add(b4);
        produits.add(p1);
        produits.add(p2);
        produits.add(p3);
        produits.add(p4);
        produits.add(p5);
        produits.add(p6);
        produits.add(p7);
        produits.add(p8);
        produits.add(p9);
        produits.add(p10);
        produits.add(p11);
        produits.add(p12);
        produits.add(p13);
        produits.add(p14);
        produits.add(p15);
        Carte carte1 = new Carte(new GregorianCalendar(2013, 1, 2), null,
                produits);
        serviceFacade.getServiceCarte().ajouter(carte1);

        Set<Produit> produits2 = new HashSet<Produit>();
        produits2.add(b5);
        produits2.add(b6);
        produits2.add(b7);
        produits2.add(p16);
        produits2.add(p17);
        produits2.add(p18);
        produits2.add(p19);
        produits2.add(p20);
        produits2.add(p21);
        produits2.add(p22);
        produits2.add(p23);
        produits2.add(p24);
        produits2.add(p25);
        produits2.add(p26);
        Carte carte2 = new Carte(new GregorianCalendar(2013, 2, 3), null,
                produits2);
        serviceFacade.getServiceCarte().ajouter(carte2);

        Set<Produit> produits3 = new HashSet<Produit>();
        produits3.add(b8);
        produits3.add(b9);
        produits3.add(b10);
        produits3.add(b11);
        produits3.add(b12);
        produits3.add(p27);
        produits3.add(p28);
        produits3.add(p29);
        produits3.add(p30);
        produits3.add(p31);
        produits3.add(p32);
        produits3.add(p33);
        produits3.add(p34);
        produits3.add(p35);
        produits3.add(p36);
        produits3.add(p37);
        Carte carte3 = new Carte(new GregorianCalendar(2012, 5, 2), null,
                produits3);
        serviceFacade.getServiceCarte().ajouter(carte3);

        System.out.println("resto rechercherTout");
        List<Restaurant> liste9 = serviceFacade.getServiceRestaurant().rechercherTout();
        System.out.println("resto rechercherTout 2");
        serviceFacade.getServiceRestaurant().supprimerListe(liste9);
        System.out.println("resto supprimerTout");
        Carte cart1 = serviceFacade.getServiceCarte().rechercherParId(1);
        System.out.println("resto rechercherParId");
        Set<Carte> cartes1 = new HashSet<Carte>();
        cartes1.add(cart1);
        Carte cart2 = serviceFacade.getServiceCarte().rechercherParId(2);
        Set<Carte> cartes2 = new HashSet<Carte>();
        cartes2.add(cart2);
        Carte cart3 = serviceFacade.getServiceCarte().rechercherParId(3);
        Set<Carte> cartes3 = new HashSet<Carte>();
        cartes3.add(cart3);
        TypeCuisine typcfr = serviceFacade.getServiceTypeCuisine().rechercherParId(1);
        TypeCuisine typcch = serviceFacade.getServiceTypeCuisine().rechercherParId(2);
        TypeCuisine typcjp = serviceFacade.getServiceTypeCuisine().rechercherParId(3);
        TypeCuisine typcff = serviceFacade.getServiceTypeCuisine().rechercherParId(4);
        Restaurant rest2 = new Restaurant("LittleWok", 25, 25, typcch, null);
        serviceFacade.getServiceRestaurant().ajouter(rest2);
        Restaurant rest6 = new Restaurant("Au bon accueil", 24, 30, typcjp,
                cartes3);
        serviceFacade.getServiceRestaurant().ajouter(rest6);
        Restaurant rest9 = new Restaurant("Delices de Malakoff", 30, 30,
                typcch, cartes1);
        serviceFacade.getServiceRestaurant().ajouter(rest9);
        Restaurant rest1 = new Restaurant("Murex", 20, 20, typcff, null);
        serviceFacade.getServiceRestaurant().ajouter(rest1);
        Restaurant rest10 = new Restaurant("Amago", 25, 30, typcjp, cartes2);
        serviceFacade.getServiceRestaurant().ajouter(rest10);
        Restaurant rest3 = new Restaurant("Le Libanais", 20, 15, typcff, null);
        serviceFacade.getServiceRestaurant().ajouter(rest3);
        Restaurant rest4 = new Restaurant("Le cochon qui rit", 15, 25, typcfr,
                null);
        serviceFacade.getServiceRestaurant().ajouter(rest4);
        Restaurant rest5 = new Restaurant("L'auberge de Venise", 30, 35,
                typcfr, null);
        serviceFacade.getServiceRestaurant().ajouter(rest5);
        Restaurant rest7 = new Restaurant("Balto", 50, 35, typcfr, null);
        serviceFacade.getServiceRestaurant().ajouter(rest7);
        Restaurant rest8 = new Restaurant("Voltigeur", 45, 20, typcfr, null);
        serviceFacade.getServiceRestaurant().ajouter(rest8);

        List<EtatCommande> liste10 = serviceFacade.getServiceEtatCommande().rechercherTout();
        serviceFacade.getServiceEtatCommande().supprimerListe(liste10);
        EtatCommande ec1 = new EtatCommande("En preparation");
        serviceFacade.getServiceEtatCommande().ajouter(ec1);
        EtatCommande ec2 = new EtatCommande("En livraison");
        serviceFacade.getServiceEtatCommande().ajouter(ec2);
        EtatCommande ec3 = new EtatCommande("Livraison effectuee");
        serviceFacade.getServiceEtatCommande().ajouter(ec3);
        EtatCommande ec4 = new EtatCommande("Commande annulee");
        serviceFacade.getServiceEtatCommande().ajouter(ec4);

        List<Devise> liste11 = serviceFacade.getServiceDevise().rechercherTout();
        serviceFacade.getServiceDevise().supprimerListe(liste11);
        Devise dev1 = new Devise("Euro", "€", "EUR", 1);
        serviceFacade.getServiceDevise().ajouter(dev1);
        Devise dev2 = new Devise("Dollar", "$", "USD", 1.3502);
        serviceFacade.getServiceDevise().ajouter(dev2);
        Devise dev3 = new Devise("Livre", "£", "GBP", 0.841);
        serviceFacade.getServiceDevise().ajouter(dev3);
        Devise dev4 = new Devise("Franc CFP", "F", "XPF", 119.33174);
        serviceFacade.getServiceDevise().ajouter(dev4);
        Devise dev5 = new Devise("Yen", "¥", "JPY", 133.038);
        serviceFacade.getServiceDevise().ajouter(dev5);
        Devise dev6 = new Devise("Yuan", "Ұ", "CNY", 8.2697);
        serviceFacade.getServiceDevise().ajouter(dev6);
        Devise dev7 = new Devise("Roupie", "₹", "INR", 83.7302);
        serviceFacade.getServiceDevise().ajouter(dev7);
        Devise dev8 = new Devise("Rouble", "Р.", "RUB", 43.467);
        serviceFacade.getServiceDevise().ajouter(dev8);

        List<Pays> liste12 = serviceFacade.getServicePays().rechercherTout();
        serviceFacade.getServicePays().supprimerListe(liste12);
        Pays pays1 = new Pays("France", "fr", serviceFacade.getServiceDevise().rechercherParNom(
                "codeIso", "EUR").get(0), null);
        serviceFacade.getServicePays().ajouter(pays1);
        Pays pays2 = new Pays("Etat-Unis", "us", serviceFacade.getServiceDevise()
                .rechercherParNom("codeIso", "USD").get(0), null);
        serviceFacade.getServicePays().ajouter(pays2);
        Pays pays3 = new Pays("Grande Bretagne", "uk", serviceFacade.getServiceDevise()
                .rechercherParNom("codeIso", "GBP").get(0), null);
        serviceFacade.getServicePays().ajouter(pays3);
        Pays pays4 = new Pays("Polynesie Francaise", "pf", serviceFacade.getServiceDevise()
                .rechercherParNom("codeIso", "XPF").get(0), null);
        serviceFacade.getServicePays().ajouter(pays4);
        Pays pays5 = new Pays("Japon", "jp", serviceFacade.getServiceDevise().rechercherParNom(
                "codeIso", "JPY").get(0), null);
        serviceFacade.getServicePays().ajouter(pays5);
        Pays pays6 = new Pays("Chine", "cn", serviceFacade.getServiceDevise().rechercherParNom(
                "codeIso", "CNY").get(0), null);
        serviceFacade.getServicePays().ajouter(pays6);
        Pays pays7 = new Pays("Inde", "in", serviceFacade.getServiceDevise().rechercherParNom(
                "codeIso", "INR").get(0), null);
        serviceFacade.getServicePays().ajouter(pays7);
        Pays pays8 = new Pays("Fédération russe", "ru", serviceFacade.getServiceDevise()
                .rechercherParNom("codeIso", "RUB").get(0), null);
        serviceFacade.getServicePays().ajouter(pays8);

	
        
      List<Profil> listeProfil = serviceFacade.getServiceProfil().rechercherTout();
      serviceFacade.getServiceProfil().supprimerListe(listeProfil);
      Profil profil1 = new Profil("Client");
      serviceFacade.getServiceProfil().ajouter(profil1);
      Profil profil2 = new Profil("Restaurateur");
      serviceFacade.getServiceProfil().ajouter(profil2);
      Profil profil3 = new Profil("Administrateur");
      serviceFacade.getServiceProfil().ajouter(profil3);
    
     
      List<Client> listeClient = serviceFacade.getServiceClient().rechercherTout();
      serviceFacade.getServiceClient().supprimerListe(listeClient);

      Client client1 = new Client("MARTIN","Pierre",serviceFacade.getServiceProfil().rechercherParNom("libelle", "Client").get(0), null, 15000);
      serviceFacade.getServiceClient().ajouter(client1);
      Client client2 = new Client("LEFLOCH","Nicolas",serviceFacade.getServiceProfil().rechercherParNom("libelle", "Client").get(0), null, 11000);
      serviceFacade.getServiceClient().ajouter(client2);
      Client client3 = new Client("DEFLEURVILLE","Madeleine",serviceFacade.getServiceProfil().rechercherParNom("libelle", "Client").get(0), null, 7000);
      serviceFacade.getServiceClient().ajouter(client3);
      Client client4 = new Client("PITRAY","Jacques",serviceFacade.getServiceProfil().rechercherParNom("libelle", "Client").get(0), null, 7000);
      serviceFacade.getServiceClient().ajouter(client4);
      Client client5 = new Client("REAN","Paul",serviceFacade.getServiceProfil().rechercherParNom("libelle", "Client").get(0), null, 7000);
      serviceFacade.getServiceClient().ajouter(client5);
      Client client6 = new Client("FICHINI","Sophie",serviceFacade.getServiceProfil().rechercherParNom("libelle", "Client").get(0), null, 1000);
      serviceFacade.getServiceClient().ajouter(client6);
      Client client7 = new Client("ROSBOURG","Marguerite",serviceFacade.getServiceProfil().rechercherParNom("libelle", "Client").get(0), null, 500);
      serviceFacade.getServiceClient().ajouter(client7);

      List<Restaurateur> listeRestaurateur = serviceFacade.getServiceRestaurateur().rechercherTout();
      serviceFacade.getServiceRestaurateur().supprimerListe(listeRestaurateur);
      Restaurateur restaurateur1 = new Restaurateur("RAT","Ratatouille",serviceFacade.getServiceProfil().rechercherParNom("libelle", "Restaurateur").get(0),null,"732 829 320 00074");
      serviceFacade.getServiceRestaurateur().ajouter(restaurateur1);
      Restaurateur restaurateur2 = new Restaurateur("ETCHY","Benoit",serviceFacade.getServiceProfil().rechercherParNom("libelle", "Restaurateur").get(0),null,"123 456 789 12345");
      serviceFacade.getServiceRestaurateur().ajouter(restaurateur2);
      Restaurateur restaurateur3 = new Restaurateur("LIGUE","Stephane",serviceFacade.getServiceProfil().rechercherParNom("libelle", "Restaurateur").get(0),null,"987 654 321 54321");
      serviceFacade.getServiceRestaurateur().ajouter(restaurateur3);
      Restaurateur restaurateur4 = new Restaurateur("TROISROIS","Melvin",serviceFacade.getServiceProfil().rechercherParNom("libelle", "Restaurateur").get(0),null,"321 654 987 98765");
      serviceFacade.getServiceRestaurateur().ajouter(restaurateur4);
      
      rest6.setRestaurateur(restaurateur2);
      serviceFacade.getServiceRestaurant().mettreAJour(rest6);
      rest9.setRestaurateur(restaurateur1);
      serviceFacade.getServiceRestaurant().mettreAJour(rest9);
      rest10.setRestaurateur(restaurateur3);
      serviceFacade.getServiceRestaurant().mettreAJour(rest10);
      
      List<Admin> listeAdmin = serviceFacade.getServiceAdmin().rechercherTout();
      serviceFacade.getServiceAdmin().supprimerListe(listeAdmin);
      Admin admin1 = new Admin("The Pooh","Winnie",serviceFacade.getServiceProfil().rechercherParNom("libelle", "Admin").get(0),null);
      serviceFacade.getServiceAdmin().ajouter(admin1);
      Admin admin2 = new Admin("SCHTROUMPF","Grand",serviceFacade.getServiceProfil().rechercherParNom("libelle", "Admin").get(0),null);
      serviceFacade.getServiceAdmin().ajouter(admin2);
      
      List<Login> listeLogin = serviceFacade.getServiceLogin().rechercherTout();
      serviceFacade.getServiceLogin().supprimerListe(listeLogin);
      Login login1 = new Login("toto@afcepf.fr", "toto", null, client1, null);
      serviceFacade.getServiceLogin().ajouter(login1);
      Login login2 = new Login("tata@afcepf.fr", "tata", null, client2, null);
      serviceFacade.getServiceLogin().ajouter(login2);
      Login login3 = new Login("mdefleureville@afcepf.fr", "madeleine", null, client3, null);
      serviceFacade.getServiceLogin().ajouter(login3);
      Login login4 = new Login("ratatouille@afcepf.fr", "ratetout", null, null, restaurateur1);
      serviceFacade.getServiceLogin().ajouter(login4);
      Login login5 = new Login("winniethepooh@afcepf.fr", "miel", admin1, null, null);
      serviceFacade.getServiceLogin().ajouter(login5);
      Login login6 = new Login("gschtroumpf@afcepf.fr", "gargamel", admin2, null, null);
      serviceFacade.getServiceLogin().ajouter(login6); 
      Login login7 = new Login("filou@afcepf.fr", "filou", null, null, restaurateur2);
      serviceFacade.getServiceLogin().ajouter(login7);
      Login login8 = new Login("sissi@afcepf.fr", "sissi", null, null, restaurateur3);
      serviceFacade.getServiceLogin().ajouter(login8); 
      Login login9 = new Login("mimi@afcepf.fr", "mimi", null, null, restaurateur4);
      serviceFacade.getServiceLogin().ajouter(login9); 
      Login login10 = new Login("jpitray@afcepf.fr", "jacques", null, client4, null);
      serviceFacade.getServiceLogin().ajouter(login10);
      Login login11 = new Login("prean@afcepf.fr", "paul", null, client5, null);
      serviceFacade.getServiceLogin().ajouter(login11);
      Login login12= new Login("sfichini@afcepf.fr", "sophie", null, client6, null);
      serviceFacade.getServiceLogin().ajouter(login12);
      Login login13 = new Login("mrosbourg@afcepf.fr", "marguerite", null, client7, null);
      serviceFacade.getServiceLogin().ajouter(login13);
      
      
    Adresse adClient1 = new Adresse();
    adClient1.setNumeroRue(12);
    adClient1.setRue(rue1);
    adClient1.setVille(vil1);
    adClient1.setTa(ta3);
    Set<Adresse> saClient1 = new HashSet<Adresse>();
    saClient1.add(adClient1);
    client1.setAdresses(saClient1);
    serviceFacade.getServiceClient().mettreAJour(client1);
    
    
    Adresse adCl2 = new Adresse();
    adCl2.setNumeroRue(23);
    adCl2.setRue(rue2);
    adCl2.setVille(vil2);
    adCl2.setTa(ta3);
    Set<Adresse> saClient2 = new HashSet<Adresse>();
    saClient2.add(adCl2);
    client2.setAdresses(saClient2);
    serviceFacade.getServiceClient().mettreAJour(client2);
   
    Adresse adCl3 = new Adresse();
    adCl3.setNumeroRue(34);
    adCl3.setRue(rue3);
    adCl3.setVille(vil3);
    adCl3.setTa(ta3);
    Set<Adresse> saClient3 = new HashSet<Adresse>();
    saClient3.add(adCl3);
    client3.setAdresses(saClient3);
    serviceFacade.getServiceClient().mettreAJour(client3);
      
    Adresse adCl4 = new Adresse();
    adCl4.setNumeroRue(45);
    adCl4.setRue(rue4);
    adCl4.setVille(vil4);
    adCl4.setTa(ta3);
    Set<Adresse> saClient4 = new HashSet<Adresse>();
    saClient4.add(adCl4);
    client4.setAdresses(saClient4);
    serviceFacade.getServiceClient().mettreAJour(client4);
  
    Adresse adCl5 = new Adresse();
    adCl5.setNumeroRue(32);
    adCl5.setRue(rue3);
    adCl5.setVille(vil4);
    adCl5.setTa(ta3);
    Set<Adresse> saClient5 = new HashSet<Adresse>();
    saClient5.add(adCl5);
    client5.setAdresses(saClient5);
    serviceFacade.getServiceClient().mettreAJour(client5);
   
    Adresse adCl6 = new Adresse();
    adCl6.setNumeroRue(25);
    adCl6.setRue(rue2);
    adCl6.setVille(vil3);
    adCl6.setTa(ta3);
    Set<Adresse> saClient6 = new HashSet<Adresse>();
    saClient6.add(adCl6);
    client6.setAdresses(saClient6);
    serviceFacade.getServiceClient().mettreAJour(client6);
     
    Adresse adCl7 = new Adresse();
    adCl7.setNumeroRue(11);
    adCl7.setRue(rue2);
    adCl7.setVille(vil1);
    adCl7.setTa(ta3);
    Set<Adresse> saClient7 = new HashSet<Adresse>();
    saClient7.add(adCl6);
    client7.setAdresses(saClient7);
    serviceFacade.getServiceClient().mettreAJour(client7);
      
      Adresse adR1 = new Adresse();
      adR1.setNumeroRue(45);
      adR1.setRue(rue4);
      adR1.setVille(vil4);
      adR1.setTa(ta2);
      Set<Adresse> saR1 = new HashSet<Adresse>();
      saR1.add(adR1);
      restaurateur1.setAdresses(saR1);
      serviceFacade.getServiceRestaurateur().mettreAJour(restaurateur1);
      
      Adresse adR2 = new Adresse();
      adR2.setNumeroRue(56);
      adR2.setRue(rue5);
      adR2.setVille(vil5);
      adR2.setTa(ta2);
      Set<Adresse> saR2 = new HashSet<Adresse>();
      saR2.add(adR2);
      restaurateur2.setAdresses(saR2);
      serviceFacade.getServiceRestaurateur().mettreAJour(restaurateur2);
      
      Adresse adR3 = new Adresse();
      adR3.setNumeroRue(67);
      adR3.setRue(rue6);
      adR3.setVille(vil6);
      adR3.setTa(ta2);
      Set<Adresse> saR3 = new HashSet<Adresse>();
      saR3.add(adR3);
      restaurateur3.setAdresses(saR3);
      serviceFacade.getServiceRestaurateur().mettreAJour(restaurateur3);
     
      Adresse adR4 = new Adresse();
      adR4.setNumeroRue(78);
      adR4.setRue(rue7);
      adR4.setVille(vil7);
      adR4.setTa(ta2);
      Set<Adresse> saR4 = new HashSet<Adresse>();
      saR4.add(adR4);
      restaurateur4.setAdresses(saR4);
      serviceFacade.getServiceRestaurateur().mettreAJour(restaurateur4);
      
      Adresse adA1 = new Adresse();
      adA1.setNumeroRue(12);
      adA1.setRue(rue2);
      adA1.setVille(vil3);
      adA1.setTa(ta2);
      Set<Adresse> saA1 = new HashSet<Adresse>();
      saA1.add(adA1);
      admin1.setAdresses(saA1);
      serviceFacade.getServiceAdmin().mettreAJour(admin1);
      
      Adresse adA2 = new Adresse();
      adA2.setNumeroRue(34);
      adA2.setRue(rue3);
      adA2.setVille(vil4);
      adA2.setTa(ta2);
      Set<Adresse> saA2 = new HashSet<Adresse>();
      saA2.add(adA2);
      admin2.setAdresses(saA2);
      serviceFacade.getServiceAdmin().mettreAJour(admin2);

      
      
      
        addNodes();
        return null;
    }

	public String doRefresh() {
        listeObjets = null;
        System.gc();
        init();
        addNodes();
        return null;
    }

    public void addNodes() {

        TreeNode typeAdresse = new DefaultTreeNode("Table TypeAdresse",
                this.utilitaires);
        List<TypeAdresse> liste = serviceFacade.getServiceTypeAdresse().rechercherTout();
        for (int i = 0; i < liste.size(); i++) {
            TreeNode ta1 = new DefaultTreeNode(liste.get(i).getLibelle(),
                    typeAdresse);
        }

        TreeNode typeHoraire = new DefaultTreeNode("Table TypeHoraire",
                this.restaurants);
        List<TypeHoraire> liste2 = serviceFacade.getServiceTypeHoraire().rechercherTout();
        for (int i = 0; i < liste2.size(); i++) {
            TreeNode ta2 = new DefaultTreeNode(liste2.get(i).getLibelle(),
                    typeHoraire);
        }

        TreeNode typeCuisine = new DefaultTreeNode("Table TypeCuisine",
                this.restaurants);
        List<TypeCuisine> liste3 = serviceFacade.getServiceTypeCuisine().rechercherTout();
        for (int i = 0; i < liste3.size(); i++) {
            TreeNode ta3 = new DefaultTreeNode(liste3.get(i).getLibelle(),
                    typeCuisine);
        }

        TreeNode typePlat = new DefaultTreeNode("Table TypePlat",
                this.restaurants);
        List<TypePlat> liste4 = serviceFacade.getServiceTypePlat().rechercherTout();
        for (int i = 0; i < liste4.size(); i++) {
            TreeNode tab4 = new DefaultTreeNode(liste4.get(i).getLibelle(),
                    typePlat);
        }

        TreeNode boisson = new DefaultTreeNode("Table Boisson",
                this.restaurants);
        List<Boisson> liste5 = serviceFacade.getServiceBoisson().rechercherTout();
        for (int i = 0; i < liste5.size(); i++) {
            TreeNode tab5 = new DefaultTreeNode(liste5.get(i).getNom(), boisson);
        }

        TreeNode plat = new DefaultTreeNode("Table Plat", this.restaurants);
        List<Plat> liste6 = serviceFacade.getServicePlat().rechercherTout();
        for (int i = 0; i < liste6.size(); i++) {
            TreeNode tab6 = new DefaultTreeNode(liste6.get(i).getNom(), plat);
        }

        TreeNode rue = new DefaultTreeNode("Table Rue", this.utilitaires);
        List<Rue> liste7 = serviceFacade.getServiceRue().rechercherTout();
        for (int i = 0; i < liste7.size(); i++) {
            TreeNode tab7 = new DefaultTreeNode(liste7.get(i).getNomRue(), rue);
        }

        TreeNode carte = new DefaultTreeNode("Table Carte", this.restaurants);
        List<Carte> liste8 = serviceFacade.getServiceCarte().rechercherTout();
        for (int i = 0; i < liste8.size(); i++) {
            SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
            TreeNode tab8 = new DefaultTreeNode(sdf.format(liste8.get(i)
                    .getValiditeDebut().getTime()), carte);
        }

        TreeNode restaurant = new DefaultTreeNode("Table Restaurant",
                this.restaurants);
        List<Restaurant> liste9 = serviceFacade.getServiceRestaurant().rechercherTout();
        for (int i = 0; i < liste9.size(); i++) {
            TreeNode tab9 = new DefaultTreeNode(liste9.get(i).getNom(),
                    restaurant);
        }

        TreeNode etatCommande = new DefaultTreeNode("Table EtatCommande",
                this.commande);
        List<EtatCommande> liste10 = serviceFacade.getServiceEtatCommande().rechercherTout();
        for (int i = 0; i < liste10.size(); i++) {
            TreeNode tab10 = new DefaultTreeNode(liste10.get(i).getLibelle(),
                    etatCommande);
        }

        TreeNode devise = new DefaultTreeNode("Table Devise", this.utilitaires);
        List<Devise> liste11 = serviceFacade.getServiceDevise().rechercherTout();
        for (int i = 0; i < liste11.size(); i++) {
            TreeNode tab11 = new DefaultTreeNode(liste11.get(i).getLibelle(),
                    devise);
        }

        TreeNode pays = new DefaultTreeNode("Table Pays", this.utilitaires);
        List<Pays> liste12 = serviceFacade.getServicePays().rechercherTout();
        for (int i = 0; i < liste12.size(); i++) {
            TreeNode tab12 = new DefaultTreeNode(liste12.get(i).getNom(), pays);
        }

        TreeNode tclient = new DefaultTreeNode("Table Client", this.client);
        List<Client> liste13 = serviceFacade.getServiceClient().rechercherTout();
        for (int i = 0; i < liste13.size(); i++) {
            TreeNode tab13 = new DefaultTreeNode(liste13.get(i).getNom(), tclient);
        }
        
        TreeNode resto = new DefaultTreeNode("Table Restaurateur", this.restaurants);
        List<Restaurateur> liste14 = serviceFacade.getServiceRestaurateur().rechercherTout();
        for (int i = 0; i < liste14.size(); i++) {
            TreeNode tab14 = new DefaultTreeNode(liste14.get(i).getNom(), resto);
        }

        TreeNode admin = new DefaultTreeNode("Table Admin", this.utilitaires);
        List<Admin> liste15 = serviceFacade.getServiceAdmin().rechercherTout();
        for (int i = 0; i < liste15.size(); i++) {
            TreeNode tab15 = new DefaultTreeNode(liste15.get(i).getNom(), admin);
        }

        TreeNode profil = new DefaultTreeNode("Table Profil", this.utilitaires);
        List<Profil> liste16 = serviceFacade.getServiceProfil().rechercherTout();
        for (int i = 0; i < liste16.size(); i++) {
            TreeNode tab16 = new DefaultTreeNode(liste16.get(i).getLibelle(), profil);
        }

        TreeNode login = new DefaultTreeNode("Table Login", this.utilitaires);
        List<Login> liste17 = serviceFacade.getServiceLogin().rechercherTout();
        for (int i = 0; i < liste17.size(); i++) {
            TreeNode tab17 = new DefaultTreeNode(liste17.get(i).getEmail(), login);
        }
    }

    /**
     * @return the serviceFacade
     */
    public IServiceFacade getServiceFacade() {
        return serviceFacade;
    }

    /**
     * @param paramServiceFacade the serviceFacade to set
     */
    public void setServiceFacade(IServiceFacade paramServiceFacade) {
        serviceFacade = paramServiceFacade;
    }
}
